package br.com.esporte.apresentacao.infra.template.consulta;

import org.apache.wicket.model.CompoundPropertyModel;

import br.com.esporte.apresentacao.infra.componente.menu.MenuEnum;
import br.com.esporte.apresentacao.infra.generic.Pagina;
import br.com.esporte.apresentacao.infra.template.PaginaTemplateGrupo;
import br.com.esporte.negocios.entidade.imp.Grupo;
import br.com.esporte.repositorio.filtro.IFiltro;

/**
 * 
 * @author Milton Domingues
 *
 * @param <ENTIDADE>
 */
public abstract class PaginaConsultaGrupo<FILTRO extends IFiltro, GRUPO extends Grupo> extends PaginaTemplateGrupo<GRUPO> implements IPaginaConsulta<FILTRO>{

	private FILTRO filtro;

	public PaginaConsultaGrupo(FILTRO filtro, GRUPO grupo, Pagina paginaRetorno, MenuEnum menuHome) {
		super(grupo, paginaRetorno, menuHome);
		this.setFiltro(filtro);
	}

	@Override
	public FILTRO getFiltro() {
		return this.filtro;
	}

	@Override
	public void montarPagina() {
		super.montarPagina();
		this.getContainer().setDefaultModel(new CompoundPropertyModel<FILTRO>(this.filtro));
	}

	@Override
	public void setFiltro(FILTRO filtro) {
		this.filtro = filtro;
	}

}
